assume cs:code
data segment
  db '1975',0,'1976',0,'1977',0,'1978',0,'1979',0
  db '1980',0,'1981',0,'1982',0,'1983',0,'1984',0
  db '1985',0,'1986',0,'1987',0,'1988',0,'1989',0
  db '1990',0,'1991',0,'1992',0,'1993',0,'1994',0
  db '1995',0
data ends
code segment

     start: mov ax,data
            mov ds,ax

            mov dh,3
            mov dl,3
            mov bl,2
            mov si,0
            mov cx,21
      sss1: call show_str
            inc dh
            add si,5
            loop sss1

            mov ax,4c00h
            int 21h

  show_str: push ax
            push bx
            push bp
            push cx
            push dx
            push di
            push si
            mov ax,0B800h
            mov es,ax
            sub dh,1
            mov ah,0
            mov al,0a0h
            mul dh
            mov bp,ax
            mov ah,0
            mov al,2
            sub dl,1
            mul dl
            add bp,ax
            mov di,0
            mov al,bl
       sss: mov ch,0
            mov cl,ds:[si]
            jcxz s
            mov es:[bp+di],cl
            add si,1
            mov es:[bp+di+01h],al
            add di,2
            jmp short sss 
         s: pop si
            pop di
            pop dx
            pop cx
            pop bp
            pop bx
            pop ax
            ret
code ends
end start
